The general field of the invention is that of data processing, and, more specifically, print stream processing. In its most specific segmentation, the field is that of optimization of those devices directed to processing a print stream for the purpose of producing a plurality of mailpieces.
As the capabilities of data processing systems has grown, so too have the requirements that are tasked to these systems. Greater speed has given rise to more detail oriented applications, greater memory capability has made memory intensive applications more attractive, and detailed applications have lead to more wide-spread use of previously inaccessible data processing abilities. With the spiraling growth in data processing ability, there has grown a need for more efficient ways of programming that promote speed as well as flexibility. Flexibility, in particular, allows applications that have been designed in varied programming languages, or operating on different platforms to be able to communicate without extensive system or file modification.
Once such means of promoting flexibility within a data processing system is in the use of xe2x80x9cobject-orientedxe2x80x9d design (OOD). Object oriented programming languages are useful in removing some of the restrictions that have hampered application design due to the inflexibility of traditional programming languages.
OOD utilizes a basic element or construct known as the xe2x80x9cobject.,xe2x80x9d which combines both a data structure and an intended behavior characteristic within the single element. Thus, software applications become an organized collection of discrete objects in which data is held or moved based on the intended behavior of an object which is inherently unique. Each object knows how to perform some activity. Objects can be specific or conceptual. But, to be of value to a particular application, objects must be able to be referenced.
Referencing is accomplished through indexing, addressing, or through value assignment which can be placed in a table for use as required. Objects can also be arranged by classification. Classification is based on groupings of objects based upon properties or characteristics important to an application or requirement. Each class describes a potentially infinite set of objects that comprise that class.
OOD is known in the software arts and specific discussion of application design based upon OOD is not required for a thorough understanding of the applicant""s claimed invention.
In the past several years, significant changes have occurred in the operation of high volume document production centers. These centers have merged traditional printing capabilities with mailroom production facilities. Executives tasked with the management of both print and mail operations are expected to play an ever-growing role in the creation and design of document centers that will deliver effective, high quality, and high integrity output. The current development and emphasis on these centers in corporations or regional centers has lead to the growing use of the term xe2x80x9cAutomated Document Factoryxe2x80x9d (hereinafter xe2x80x9cADFxe2x80x9d) to describe consolidated printing and mail finishing operations.
In current practice, large mailing companies tend to separate the process of creating documents from the process of manufacturing documents (mailpieces). The print center tasked with finishing the created document receives both scheduled and scheduled print jobs with a wide range of requirements. These print jobs are evaluated, scheduled, and executed in the printfinish center.
Because the print/finish center has traditionally been xe2x80x9cinformation systems poor,xe2x80x9d most of the work required to prepare or xe2x80x9cconditionxe2x80x9d the print job for manufacturing was created in the business unit or print service client. Typical conditioning processes include: performing postal address hygiene; adding PostNet(trademark) barcodes; presorting mailings; adding inserter barcode instructions; adjusting printer paper size and orientation; and, adding spot color instructions.
The manager of such a print/finish operation, seeking to maximize efficiency through optimal use of equipment and decision making tools, is faced with a dilemma. First, the decisions about the structure and management of the print/finish center are generally made outside of the center; the decisions are generally made by the Information Systems (IS) group creating the print job and its associated print stream. Document manufacturing requests are also assigned lower priorities, further limiting management control. Second, the hardware systems and their associated peripheral devices are often sourced from different manufacturers so that the printers and inserters being fed by the print stream are relying on differing motivators from the print stream.
To help classify and organize the concept of the emerging print/finish center, an architecture has been developed within the print stream industry that is referred to as the ADF. The Automated Document Factory(trademark) architecture proposed by the Gartner Group of Stamford, Connecticut, provides a model for a set of processes that prepares and positions enterprises to manage the creation and delivery of high-volume digitized documents by using factory production techniques that appropriately and optimally mechanize document production. The raw materials of production (i.e., the document data and preparation instructions), enter the ADF which transforms them into digital documents and prepares them for delivery.
The architecture for the ADF is comprised of four (4) modules; these include: input; transformation; delivery and preparation; and, control and reporting. Each module, or building block, is made up of other modules and each is connected by a series of interfaces, or links.
Each of the building blocks must be linked through effective communication which includes the tracking and measurement of the input and output of the document manufacturing hardware and associated peripherals. To enhance productivity and cost-effectiveness of the overall system, systems managers need to be able to scrutinize every element of the print job process to see where improvements can be made. Thus, each of the modules takes on an increased significance when viewed with respect to their relationship with the overall system.
There is thus a need to provide each of the modules for the ADF so that the structure can be self supporting and viable. The input module is where all of the data and instructions needed to transform the arriving print stream data into documents enters the ADF. The present invention is currently being introduced to the print stream market by the assignee of the present invention, Pitney Bowes Inc. of Stamford, Conn., as the InStream(trademark) server which is designed as the input module for the ADF.
It is an object of the present invention to provide the input module to the conceptual ADF frame by describing herein an open systems, client-server technology for facilitating automated document manufacturing techniques.
The use of object oriented design to facilitate object oriented linking of diverse applications, is a distinct benefit when employed within data processing systems such as print stream client/server systems with diverse device driver applications. Therefore, it is an object of the present invention to provide for an object oriented method and system of interfacing between print stream creation applications that are based on differing program languages or exist on differing operating system platforms and a document manufacturing system.
It is a further object of the present invention to provide a method of optimizing the use of hardware and associated peripheral devices in manufacturing documents that have been digitally delivered through the input module. Additionally, it is further object of the present invention to measure the activities of each of the hardware and peripheral components so that accurate reporting can be made so as to facilitate subsequent job performance decisions and so as to maximize system utility and performance.
According to the invention, the above objects are achieved and the disadvantages of the prior art are overcome by a method for creating a print job object, in an object oriented development environment of a print stream processing system. There are two alternatives for object creation as defined herein; the selection of one over the other is dependent upon the object legacy.
In a preferred embodiment of the object creation method, an object creation function within the print stream processing system is initiated. The initiated function registers a class within the object creation function and names (instantiates) the class. The instantiation establishes a programming interface to the print job object which allows the establishment of the print job object properties.
The object""s programming interface creates a portal through which a set of object methods can be placed within the print job object. The set of object methods comprises action instructions which further comprise: display instructions for instructing the print stream processing system to display data on the display means; storage instructions for instructing the print stream processing system to store data; and, printing instructions for instructing the print stream processing system to print data on the output means.
Additionally, device selection functionality, text formatting functionality, and a set of print job data tables can be placed within the print job object by utilizing the programming interface. The device selection functionality further comprises: a table of required output devices; a table of available output devices; and, matching rules for matching the table of required output devices to the table of available output devices. The device selection functionality comprises lookup means for looking up an interface between the print stream and a driver for the output device; the lookup based upon a comparison of a requested device identifier and an available device identifier. Text formatting functionality further comprises text templates for the matching of the print stream to a set of desired document finishing schemes, and one or more sets of instructions for creating text sub-fields, wherein each of the sub-fields corresponds to a selected text format.
The set of print job data tables further comprises: a plurality of text field data; rules for use of text field data; error messages; and suggestions for alternate paths of movement within the print stream processing system. Creation of a human interface for allowing data to be displayed to a system operator under direction from the object methods, and placing of the human interface within the print job object, can also be accomplished by utilizing the programming interface.
An alternative method of creating the print job object begins with the location of a job template in the print stream client server. The job template is copied to create a new job object instance. The copied job template has a set of job properties embedded in the new job object instance; these are augmented with a second set of job object properties to establish a new job object. The new job object is then saved to a database of the print stream client server by utilizing a database engine of the print stream client server to store the new job object.
Utilization of the print job object begins with the creation of a document within the print stream processing application and then determining that the processing of the print stream is required at a remote location for document finishing. The print stream is transmitted, under control of the server, to the remote location; and, then the print job object is invoked at the server, whereby the print job object performs finishing device selection and text formatting at the remote location.